<head>
    <meta charset="UTF-8">
<title>算法训练 The Red Button</title>
<link rel="stylesheet" href="../css/main.css">
</head>
 <p>【问题描述】<br />
Piegirl终于发现了红色按钮，你现在还剩最后一个机会去改变这个结局。这个按钮下面的电路由n个从0到n-1编号节点组成。为了关闭这个按钮，这n个节点必须以特定的序列拆解。节点0必须首先拆解，在拆解了节点i后，下一个被拆解的节点必须是(2&middot;i) mod n或(2&middot;i)+1 mod n。最后一个被拆解的节点必须是节点0。节点0必须被拆解两次，其他节点必须刚好被拆解一次。你的任务是找到一个符合要求的顺序并输出它。如果没有任何一个顺序满足条件，输出-1。</p>
<p>【输入格式】<br />
包含一个整数n(2&lt;=n&lt;=10<sup>5</sup>)</p>
<p>【输出格式】<br />
输出一个可以拆解所有节点的顺序。如果不可能输出-1。如果有多个可能的顺序，输出任意一个。<br />
【样例输入】<br />
数据1<br />
2<br />
数据2<br />
3<br />
数据3<br />
4<br />
数据4<br />
16<br />
【样例输出】<br />
数据1<br />
0 1 0<br />
数据2<br />
-1<br />
数据3<br />
0 1 3 2 0<br />
数据4<br />
0 1 2 4 9 3 6 13 10 5 11 7 15 14 12 8 0<br />
【数据规模和约定】<br />
对于15%的数据2&lt;=n&lt;=10</p>
对于30%的数据2&lt;=n&lt;=20</p>
对于100%的数据2&lt;=n&lt;=10<sup>5</sup></p>